package control;

import java.awt.event.KeyEvent;

import modelo.Controlador1942;
import ar.uba.fi.algo3.titiritero.KeyPressedObservador;
import modelo.Jugador;
import modelo.util.Vector;

public class EscuchadorDeKeyPress implements KeyPressedObservador {

	private static Vector abajo = new Vector(0,1);
	private static Vector arriba = new Vector(0,-1);
	private static Vector derecha = new Vector(1,0);
	private static Vector izquierda = new Vector(-1,0);
	private Jugador jugador;
	private Controlador1942 controlador;
	
	public EscuchadorDeKeyPress(Jugador jug, Controlador1942 contr){
		jugador = jug;
		controlador = contr;
	}
	
	public void keyPressed(KeyEvent event) {
		switch (event.getKeyCode()) {
		
		//Movimientos
		case KeyEvent.VK_DOWN:
			jugador.setDirProxMov(abajo);
			break;
			
		case KeyEvent.VK_LEFT:
			jugador.setDirProxMov(izquierda);
			break;
			
		case KeyEvent.VK_UP:
			jugador.setDirProxMov(arriba);
			break;
		
		case KeyEvent.VK_RIGHT:
			jugador.setDirProxMov(derecha);
			break;

		//Disparar
		case KeyEvent.VK_Z:
			jugador.setDisparo();
			break;		
			
		//Pausa
		case KeyEvent.VK_P:
		case KeyEvent.VK_PAUSE:
			controlador.invertirPausa();
			break;
			
		//Esc
		case KeyEvent.VK_ESCAPE:
			System.exit(0);
			break;				
			
		default:
			System.out.println("No apreto una tecla util: " + event.getKeyCode());
			break;
		}
	}

}